﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using AdmLaboratorios.DTO;

namespace AdmLaboratorios.Business.Entities
{
    public class Usuario
    {
        List<PerfilDTO> perfiles = new List<PerfilDTO>();

        public List<PermisoDTO> Permisos { get; set; }
        public List<PerfilDTO> Perfiles { get; set; }

        public UsuarioDTO UsuarioDTO { get; set; }

        public Usuario(UsuarioDTO usuario)
        {
            UsuarioDTO = usuario;

            Perfiles = Seguridad.PerfilesByUsuario(usuario);
            Permisos = Seguridad.PermisosByPerfiles(Perfiles);
        }

        public bool EsAdministrador
        {
            get
            {
                foreach (PerfilDTO perfil in this.Perfiles)
                {
                    //1: Administrador del Sistema
                    if (perfil.Id == 1)
                        return true;
                }
                return false;
            }
        }

        public bool TienePermiso(string nombreMenu)
        {
            foreach (var item in Permisos)
            {
                if (item.NombreMenu.ToLower().Trim() == nombreMenu.ToLower().Trim())
                    return true;
            }
            return false;
        }

        //public bool PuedeCrearAñoLectivo()
        //{
        //    return EsAdministrador || TienePermiso("chkPuedeCrearAñoLectivo");
        //}

        //public bool PuedeConfirmarAñoLectivo()
        //{
        //    return EsAdministrador || TienePermiso("chkPuedeConfirmarAñoLectivo");
        //}

        //public bool PuedeCambiarAlumnoCursada()
        //{
        //    return EsAdministrador || TienePermiso("chkPuedeCambiarAlumnoCursada");
        //}
    }

    
}
